#pragma once

#include "IXBaseObj.h"
#include "IXFrame.h"
#include "IXWindow.h"

#if _IS_UI_FOCUS_ENABLED_
/**
 *  IXFocusMgr Interface.
 *
 */
class ExportXSkinLib IXFocusMgr : public IXBaseObj
{
    DEF_INTERFACE(IXFocusMgr, _T("{074910F9-A550-46f2-BD99-4ABB806D75F0}"));
public:

    virtual HRESULT STDMETHODCALLTYPE   AddFocusNode(IXFrame* pFrame) = 0;
    virtual HRESULT STDMETHODCALLTYPE   RemoveFocusNode(IXFrame* pFrame) = 0;
    virtual HRESULT STDMETHODCALLTYPE   RemoveWindow(IXWindow* pWindow) = 0;

    virtual HRESULT STDMETHODCALLTYPE   GetPrevFocusNode(IXFrame** ppFocus) = 0;
    virtual HRESULT STDMETHODCALLTYPE   GetNextFocusNode(IXFrame** ppFocus) = 0;
    virtual HRESULT STDMETHODCALLTYPE   GetCurrentFocusNode(IXFrame** ppFocus) = 0;
};

#endif // _IS_UI_FOCUS_ENABLED_